<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/javascript">
      /* 
        创建一个对象
      */
      var obj = new Object()

      //向对象中添加属性
      obj.name = '孙悟空'
      obj.age = 18

      //对象的属性值可以是任何的数据类型,也可以是个函数
      obj.sayName = function () {
        console.log(obj.name)
      }

      function fun() {
        console.log(obj.name)
      }

      /* 
        函数也可以成为对象的属性
          如果一个函数作为一个对象的属性保存,
          那么我们称这个函数是这个对象的方法
          调用这个函数就说调用对象的方法(method)

        但是它只是名称上的区别没有其他的区别
      */
      //调方法
      obj.sayName()
      //调函数
      fun()

      //调用方法
      'hello'.toString()

      var obj2 = {
        name: '猪八戒',
        age: 18,
        sayName: function (params) {
          console.log(obj2.name)
        },
      }

      obj2.sayName()
    </script>
  </head>
  <body></body>
</html>
